'use strict';
const dayjs = require("dayjs");
module.exports = app => {
    const { INTEGER, DATE, STRING } = app.Sequelize;
    const Code = app.model.define(
      'Code',
          {
              id: {type: INTEGER, primaryKey: true, autoIncrement: true},
              // 手机号
              phone: STRING(11),
              // 验证码
              code: STRING(6),
            type: STRING(255),
              // 失效时间
              expire_time: DATE,
              create_time: {
                  type: DATE,
                  get() {
                      return dayjs(this.getDataValue('create_time')).format('YYYY-MM-DD HH:mm:ss');
                  }
              },
              updated_time: {
                  type: DATE,
                  get() {
                      return dayjs(this.getDataValue('updated_time')).format('YYYY-MM-DD HH:mm:ss');
                  }
              }
          },
          {
              tableName: 'code',
              timestamps: true, // 启用时间戳(createdAt, updatedAt)
              updatedAt: 'updated_time', // 不想要 updatedAt
              createdAt: 'create_time', // 想要  createdAt 但是希望名称叫做 create_time
          }
    );
    return Code;
};
// 创建mysql表语句
// CREATE TABLE `code` (
//   `id` int(11) NOT NULL AUTO_INCREMENT,
//   `phone` varchar(11) DEFAULT NULL COMMENT '手机号',
//   `code` varchar(6) DEFAULT NULL COMMENT '验证码',
//   `type` varchar(255) DEFAULT NULL,
//   `expire_time` datetime DEFAULT NULL COMMENT '失效时间',
//   `create_time` datetime DEFAULT NULL,
//   `updated_time` datetime DEFAULT NULL,
//   PRIMARY KEY (`id`)
// ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

